//
//  UIs_CellFold_DemoVC.swift
//  APSwift
//
//  Created by jianbo.pei on 2022/12/10.
//

import UIKit

class UIs_CellFold_DemoVC: UIViewController {
    
    lazy var tableView: UITableView = {
        let tableV = UITableView(frame: view.bounds, style: .plain)
        tableV.delegate = self
        tableV.dataSource = self
        tableV.register(UIs_CellFold_Cell.self, forCellReuseIdentifier: "UIs_CellFold_Cell_Identifier")
        return tableV
    }()
    
    private var datas: [UIs_CellFold_Model] = []
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
        view.backgroundColor = .white
        
        configDatas()
        view.addSubview(tableView)
    }
    
    func configDatas() {

        let dess: [String] = [
            "11sfdjl时间砥砺奋进湿帘风机 酸辣粉激动死了福建水利副书记到家啦记得删了放假啊老司机福利 发动机绿色减肥司法局律师就多放辣椒十分理解时间飞逝龙卷风僵尸",
            "22sfjl时间到了说时间段浪费时间放假搜额u说",
            "33极乐世界芙丽丝芳就是发的绿色减肥老司机福利解放东路数据分类发送到风俗佛了浮生六记斐林试剂福建水利福建历史分手季节砥砺奋进宋尔卫理解 精神分裂送释迦佛i烦死了福建历史睡觉了方结松额睡觉了地方就是雷锋精神斐林试剂佛送粉色哦哟哟送哦啥份份是是房间送福说",
            "44极乐世界芙丽丝芳就是发的绿色减肥老司机福利解放东路数据分类发送到风俗佛了浮生六记斐林试剂福建水利福建历史分手季节砥砺奋进宋尔卫理解 精神分裂送释迦佛i烦死了福建历史睡觉了方结松额睡觉了地方就是雷锋精神斐林试剂佛送粉色哦哟哟送哦啥份份是是房间送福说",
            "55sfdjl时间砥砺奋进湿帘风机 酸辣粉激动死了福建水利副书记到家啦记得删了放假啊老司机福利 发动机绿色减肥司法局律师就多放辣椒十分理解时间飞逝龙卷风僵尸",
            "66sfjl时间到了说时间段浪费时间放假搜额u说",
            "77极乐世界芙丽丝芳就是发的绿色减肥老司机福利解放东路数据分类发送到风俗佛了浮生六记斐林试剂福建水利福建历史分手季节砥砺奋进宋尔卫理解 精神分裂送释迦佛i烦死了福建历史睡觉了方结松额睡觉了地方就是雷锋精神斐林试剂佛送粉色哦哟哟送哦啥份份是是房间送福说",
            "88极乐世界芙丽丝芳就是发的绿色减肥老司机福利解放东路数据分类发送到风俗佛了浮生六记斐林试剂福建水利福建历史分手季节砥砺奋进宋尔卫理解 精神分裂送释迦佛i烦死了福建历史睡觉了方结松额睡觉了地方就是雷锋精神斐林试剂佛送粉色哦哟哟送哦啥份份是是房间送福说",
            "99sjfl家里风刀霜剑浪费时间了放家里了就是浪费斐林试剂福禄寿酒店斐林试剂发"
        ]
        for i in 0..<dess.count {
            let m = UIs_CellFold_Model()
            m.title = "遇上女友拍卖盛典" + "\(i)"
            m.desc = dess[i]
            datas.append(m)
        }
    }
    
}

extension UIs_CellFold_DemoVC: UITableViewDataSource, UITableViewDelegate {
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return datas.count
    }
    
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "UIs_CellFold_Cell_Identifier", for: indexPath) as! UIs_CellFold_Cell
        if datas.count > indexPath.row {
            let m = datas[indexPath.row]
            cell.setup(with: m)
        }
        cell.didTappedFoldButtonBlock = { [weak self] model in
            self?.tableView.reloadRows(at: [indexPath], with: .fade)
        }
        return cell
    }
    
    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
        if datas.count > indexPath.row {
            let m = datas[indexPath.row]
            return m.cellHeight
        } else {
            return 0
        }
    }
    
}
